package com.fujieid.jap.ids.model.enums;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @version 1.0
 * @description ResponseMode
 * @auther liangxp
 * @date 2023-06-09
 */
public enum ResponseMode {
    //响应参数以查询字符串的形式出现在重定向URI的query参数中。这是最常见的响应模式。
    QUERY("query"),
    //响应参数以查询字符串的形式出现在重定向URI的fragment参数中。与query模式相比，fragment模式更适合在客户端（浏览器）中使用，因为它可以避免将响应参数发送到服务器。
    FRAGMENT("fragment"),
    //响应参数通过HTTP POST方法发送到客户端指定的URI。这种模式适用于需要向客户端返回大量数据的情况。
    FORM_POST("form_post");



    private final String mode;

    ResponseMode(String mode) {
        this.mode = mode;
    }

    public static List<String> responseModes() {
        return Arrays.stream(ResponseMode.values())
            .map(ResponseMode::getMode)
            .collect(Collectors.toList());
    }

    public String getMode() {
        return mode;
    }
}
